package com.duguo.dynamicmvc.factory.processor.controller;

import java.util.Map;

import javassist.CtClass;
import javassist.CtMethod;

import com.duguo.dynamicmvc.factory.ControllerBuilder;


public interface ControllerMultiActionCreator {

	public Object createGeneralMultiActionController(Object parentController, String controllerName, ControllerBuilder controllerBuilder) throws Exception;

	public Class getStaticControllerClass(Object parentController, String controllerName, ControllerBuilder controllerBuilder) throws Exception;

	public void setupMultiActionControllerCtClass(CtClass controllerCtClass, CtMethod controllerHandlerCtMethod, boolean hasDynamicController, Map<String,Object> viewMappings, CtClass controllerInternalInterface, boolean isSingleAction, ControllerBuilder controllerBuilder) throws Exception;

	public void setupDynamicControllerParentHandler(CtClass controllerCtClass, CtClass parentInternalInterfaceCtClass, CtMethod parentHandlerCtMethod, ControllerProcessor controllerProcessor) throws Exception;


}
